/*
 * @lc app=leetcode.cn id=204 lang=java
 *
 * [204] 计数质数
 *
 * https://leetcode-cn.com/problems/count-primes/description/
 *
 * algorithms
 * Easy (38.36%)
 * Likes:    647
 * Dislikes: 0
 * Total Accepted:    135.4K
 * Total Submissions: 351.9K
 * Testcase Example:  '10'
 *
 * 统计所有小于非负整数 n 的质数的数量。
 * 
 * 
 * 
 * 示例 1：
 * 
 * 输入：n = 10
 * 输出：4
 * 解释：小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
 * 
 * 
 * 示例 2：
 * 
 * 输入：n = 0
 * 输出：0
 * 
 * 
 * 示例 3：
 * 
 * 输入：n = 1
 * 输出：0
 * 
 * 
 * 
 * 
 * 提示：
 * 
 * 
 * 0 <= n <= 5 * 10^6
 * 
 * 
 */

// @lc code=start
class Solution {
    public int countPrimes(int n) {
        int count = 0;
        for(int i=2;i<n;i++){
            if(!isPrimes(i)) count++;
        }
        return count;
    }

    private boolean isPrimes(int n){
        for(int i=2;i*i<=n;i++){
            if(n%i==0) return true;
        }
        return false;
    }
}
// @lc code=end

